package demo02;
/*
* 2.局部内部类
* 将类定义在方法内部
* 直接当前所属的方法才能使用它，出了方法就不好使了
* 格式：
* 修饰符 class 外部类名{
*       修饰符 返回值类型  外部类方法名(){
*           class 局部内部类{}
*       }
* }
*
* 注意~！！！
* 局部内部类使用外部类方法中的局部变量时，该变量必须是【有效final】的
* 原因：new出来的对象在堆中，局部变量在栈内存中
* 方法结束布局变量就会消失，但new出来的对象不一定
* 使用final后会copy到常量池中
* */
public class Outer {
    public void methodOuter(){
        class Inner{
            int num=10;
            //num=20;//变了，不是有效final
            public void methodInner(){
                System.out.println("局部内部类方法");
                System.out.println(num);
            }
        }
        new Inner().methodInner();



    }

}
